package com.ruoyi.asset.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资产对象 t_asset
 * 
 * @author ruoyi
 * @date 2025-09-24
 */
public class TAsset extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资产编号(主键) */
    private String assetNo;

    /** 设备号 */
    @Excel(name = "设备号")
    private String deviceNo;

    /** 资产名称 */
    @Excel(name = "资产名称")
    private String name;

    /** 分类ID */
    @Excel(name = "分类ID")
    private Long categoryId;

    /** 设备类型编码 */
    @Excel(name = "设备类型编码")
    private String equipmentTypeCode;

    /** 规格/型号 */
    @Excel(name = "规格/型号")
    private String modelNo;

    /** 品牌 */
    @Excel(name = "品牌")
    private String brand;

    /** 位置 */
    @Excel(name = "位置")
    private String location;

    /** 部门ID/部门名称 */
    @Excel(name = "部门ID")
    private String deptId;

    /** 供应商 */
    @Excel(name = "供应商")
    private String supplierName;

    /** 制造商 */
    @Excel(name = "制造商")
    private String manufacturer;

    /** 购入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "购入日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date purchaseDate;

    /** 投产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "投产日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date commissioningDate;

    /** 操作人员(用户名) */
    @Excel(name = "操作人员")
    private String operatorName;

    /** 图片URL(JSON数组) */
    @Excel(name = "图片URL")
    private String imageUrls;

    /** 状态编码 引用字典 */
    @Excel(name = "状态编码 引用字典")
    private String statusCode;

    /** 逻辑删除:0未删 1已删 */
    @Excel(name = "逻辑删除:0未删 1已删")
    private Integer isDelete;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updatedAt;

    public void setAssetNo(String assetNo) 
    {
        this.assetNo = assetNo;
    }

    public String getAssetNo() 
    {
        return assetNo;
    }

    public void setDeviceNo(String deviceNo) 
    {
        this.deviceNo = deviceNo;
    }

    public String getDeviceNo() 
    {
        return deviceNo;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }

    public void setEquipmentTypeCode(String equipmentTypeCode) 
    {
        this.equipmentTypeCode = equipmentTypeCode;
    }

    public String getEquipmentTypeCode() 
    {
        return equipmentTypeCode;
    }

    public void setModelNo(String modelNo) 
    {
        this.modelNo = modelNo;
    }

    public String getModelNo() 
    {
        return modelNo;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setLocation(String location) 
    {
        this.location = location;
    }

    public String getLocation() 
    {
        return location;
    }

    public void setDeptId(String deptId) 
    {
        this.deptId = deptId;
    }

    public String getDeptId() 
    {
        return deptId;
    }

    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }

    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }

    public void setPurchaseDate(Date purchaseDate) 
    {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate() 
    {
        return purchaseDate;
    }

    public void setCommissioningDate(Date commissioningDate) 
    {
        this.commissioningDate = commissioningDate;
    }

    public Date getCommissioningDate() 
    {
        return commissioningDate;
    }

    public void setOperatorName(String operatorName) 
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName() 
    {
        return operatorName;
    }

    public void setImageUrls(String imageUrls) 
    {
        this.imageUrls = imageUrls;
    }

    public String getImageUrls() 
    {
        return imageUrls;
    }

    public void setStatusCode(String statusCode) 
    {
        this.statusCode = statusCode;
    }

    public String getStatusCode() 
    {
        return statusCode;
    }

    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }

    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assetNo", getAssetNo())
            .append("deviceNo", getDeviceNo())
            .append("name", getName())
            .append("categoryId", getCategoryId())
            .append("equipmentTypeCode", getEquipmentTypeCode())
            .append("modelNo", getModelNo())
            .append("brand", getBrand())
            .append("location", getLocation())
            .append("deptId", getDeptId())
            .append("supplierName", getSupplierName())
            .append("manufacturer", getManufacturer())
            .append("purchaseDate", getPurchaseDate())
            .append("commissioningDate", getCommissioningDate())
            .append("operatorName", getOperatorName())
            .append("imageUrls", getImageUrls())
            .append("statusCode", getStatusCode())
            .append("isDelete", getIsDelete())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .toString();
    }
}